﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace YandexWebmaster
{
    public partial class Основная : Form
    {
        List<Account> arAccount = null;
        List<Site> arSite = null;
        public Account currentAccount = null;
        public Site currentSite = null;        

        public Основная()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            BD BD = new BD();
            // получаем все аккаунты из базы
            arAccount = BD.GetAccounts();
            if (arAccount.Count > 0) {
                // устанавливаем текущий аккаунт
                currentAccount = arAccount.FirstOrDefault();
                // добавляем в список аккаунты
                listBox1.DataSource = arAccount;
                // тянем все сайты аккаунта из базы
                arSite = BD.GetSites(currentAccount);
                // устанавливаем текущий сайт
                currentSite = arSite.FirstOrDefault();
                // добавляем в список аккаунты
                listBox2.DataSource = arSite;
            }
        }

        private void listBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            BD BD = new BD();

            string login = listBox1.SelectedValue.ToString();
            
            currentAccount = BD.GetAccount(login);

            arSite = BD.GetSites(currentAccount); 
            // устанавливаем текущий сайт
            currentSite = arSite.FirstOrDefault();
            // добавляем в список аккаунты
            listBox2.DataSource = arSite;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Добавить_Аккаунт FormAccount = new Добавить_Аккаунт();
            FormAccount.Show(this);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            BD BD = new BD();
            API API = new API();

            User user = BD.GetUserBD(currentAccount);
            if (user == null)
            {
                user = API.GetUserAPI(currentAccount);
                currentAccount.User = user;
                BD.InsertUser(user);
            }
            arSite = API.GetSiteAPI(currentAccount).Result;
            BD.InsertSites(arSite);
            listBox2.DataSource= arSite;
        }

        private void listBox2_SelectedValueChanged(object sender, EventArgs e)
        {

        }
    }
}
